package com.asa.ui.D;
/**
 * 看的见的算法——三门问题
在美国的电视节目中有一个非常有意思的游戏:有三个门其中一个们后面有奖品,主持人会先让你选择一扇门,而后主持人打开一扇没有奖品的门,然后问你要不要换门,那么问题来了:换门中奖的概率高还是不换门高还是都一样首先我们先使用程序来看看这个问题:
 * @author asa
 *
 */
public class ThreeGatesExperiment {
	private int win;//中奖的次数
	public ThreeGatesExperiment(int gameNumber,boolean isChange) {
		if(gameNumber<0){
			System.out.println("输入不合法");
		}
		play(gameNumber,isChange);
	}
	//结果统计
	public void play(int gameNumber,boolean isChange){
		for(int i=0;i<gameNumber;i++){
			if(run(isChange)){
				win++;
			}
			}
			System.out.println((double)win/gameNumber);
			System.out.println(1-(double)win/gameNumber);
	}
	//每次运行的结果
  public boolean run(boolean isChange){
	  int choiceDoor=(int)(Math.random()*3);
	  int prizeDoor=(int)(Math.random()*3);
	  if(choiceDoor==prizeDoor){
		 return isChange?false:true;
	  }else{
		 return isChange?true:false;
	  }
  }
 public static void main(String[] args) {
   new ThreeGatesExperiment(10000,true);
   
}

}
